#ifndef BILLBOARD_H
#define BILLBOARD_H

#include <math.h>
#include <GL/glut.h>
#include <GL/gl.h>
#include <GL/glu.h>
#include <stdlib.h>
#include <stdio.h>
#include "maths.h"

class Billboard{
    public:
        GLfloat vertices[12];
        GLfloat tex_coords[8];
        GLuint  indices[4];
        
        Billboard();
        void l3dBillboardGetRightVector(float *right);
        void l3dBillboardGetUpRightVector(float *up, float *right);
        void l3dBillboardLocalToWorld(float *cam, float *worldPos);
        void l3dBillboardCylindricalBegin(float *cam, float *worldPos);
        void l3dBillboardSphericalBegin(float *cam, float *worldPos);
        void l3dBillboardCheatSphericalBegin(void);
        void l3dBillboardCheatCylindricalBegin(void);
        void l3dBillboardEnd(void);
};
#endif
